home *** CD-ROM | disk | FTP | other *** search
Wrap
aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((3333ddddmmmm)))) aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((3333ddddmmmm)))) NNNNAAAAMMMMEEEE afGetLoopIDs - get a number and list of loop ID's for an instrument configuration SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////aaaauuuuddddiiiiooooffffiiiilllleeee....hhhh>>>> iiiinnnntttt aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((AAAAFFFFffffiiiilllleeeehhhhaaaannnnddddlllleeee ffffiiiilllleeee,,,, iiiinnnntttt iiiinnnnssssttttiiiidddd,,,, iiiinnnntttt llllooooooooppppiiiiddddssss[[[[]]]])))) PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRR _f_i_l_e expects an AAAAFFFFffffiiiilllleeeehhhhaaaannnnddddlllleeee structure, created when an audio file is opened by a call to aaaaffffOOOOppppeeeennnnFFFFiiiilllleeee(3dm) or its equivalent. _i_n_s_t_i_d is an integer which identifies a chunk of instrument parameters contained in _f_i_l_e. Since the number of supported inst chunks varies with file format, applications should always retrieve this value via aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss(3dm). _l_o_o_p_i_d_s is an array of integer locations used to return a list of (unique) positive loop id's for the given instrument chunk. If _l_o_o_p_i_d_s is a null pointer, aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) simply returns the number of loops for the given instrument. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) returns a nonnegative integer count of the number of loop structures in the specified instrument chunk. You use this value to determine the size of an array which you pass back to aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))). For AIFF-C (and AIFF) files, the number of loop structures in the AAAAFFFF____DDDDEEEEFFFFAAAAUUUULLLLTTTT____IIIINNNNSSSSTTTT chunk is always 2: a sustain loop and a release loop. For other file formats, this number may vary from 0 to an unlimited quantity. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) reports the number of loops for _i_n_s_t_i_d, and supplies a list of unique positive id's for the loops in _l_o_o_p_i_d_s[]. Typically, you call aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) twice. The first time, you pass it a null _l_o_o_p_i_d_s pointer and just check the return value. This value tells you how many locations to allocate in the _l_o_o_p_i_d_s[] array, which you pass back to aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) to obtain a list of loop ID's. You can then use these id's to reference the individual loops and obtain information about them such as play mode, start and end points (see aaaaffffGGGGeeeettttLLLLooooooooppppSSSSttttaaaarrrrtttt(3dm)), and for some formats, the loop count (see aaaaffffGGGGeeeettttLLLLooooooooppppCCCCoooouuuunnnntttt(3dm)). NNNNOOOOTTTTEEEE For AIFF-C (and AIFF), you can obtain loop ID's for the sustain and release loops in the instrument map directly by calling aaaaffffGGGGeeeettttIIIInnnnssssttttPPPPaaaarrrraaaammmmLLLLoooonnnngggg(3dm) with the parameters AAAAFFFF____IIIINNNNSSSSTTTT____SSSSUUUUSSSSLLLLOOOOOOOOPPPPIIIIDDDD and AAAAFFFF____IIIINNNNSSSSTTTT____RRRREEEELLLLLLLLOOOOOOOOPPPPIIIIDDDD. PPPPaaaaggggeeee 1111 aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((3333ddddmmmm)))) aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((3333ddddmmmm)))) CCCCAAAAVVVVEEEEAAAATTTTSSSS These functions may return any number of loops within an inst, not just the fixed value of 2 current found in AIFF/AIFF-C files. Other supported file formats have different loop configurations than those in AIFF/AIFF- C. Applications may use the aaaaffffQQQQuuuueeeerrrryyyy(3dm) system to determine whether a format supports loops and if so, the number allowed. A program should be written to expect and ignore loop configurations it does not understand. SSSSEEEEEEEE AAAALLLLSSSSOOOO afOpenFile(3dm), afInitLoopIDs(3dm), afGetInstParamLong(3dm), afGetLoopStart(3dm) PPPPaaaaggggeeee 2222